// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "content/renderer/pepper/host_resource_var.h"

namespace content {

HostResourceVar::HostResourceVar()
    : pp_resource_(0)
{
}

HostResourceVar::HostResourceVar(PP_Resource pp_resource)
    : pp_resource_(pp_resource)
    , pending_renderer_host_id_(0)
    , pending_browser_host_id_(0)
{
}

HostResourceVar::HostResourceVar(int pending_renderer_host_id,
    const IPC::Message& creation_message)
    : pp_resource_(0)
    , pending_renderer_host_id_(pending_renderer_host_id)
    , pending_browser_host_id_(0)
    , creation_message_(new IPC::Message(creation_message))
{
}

PP_Resource HostResourceVar::GetPPResource() const { return pp_resource_; }

int HostResourceVar::GetPendingRendererHostId() const
{
    return pending_renderer_host_id_;
}

int HostResourceVar::GetPendingBrowserHostId() const
{
    return pending_browser_host_id_;
}

const IPC::Message* HostResourceVar::GetCreationMessage() const
{
    return creation_message_.get();
}

bool HostResourceVar::IsPending() const
{
    return pp_resource_ == 0 && creation_message_;
}

HostResourceVar::~HostResourceVar() { }

} // namespace content
